package com.zzyl.service;

import com.zzyl.base.PageResponse;
import com.zzyl.dto.ReservationDto;
import com.zzyl.entity.CountTime;
import com.zzyl.vo.ReservationVo;

import java.time.LocalDateTime;
import java.util.List;

public interface ReservationService {

    //小程序查询取消预约次数
    Integer getCount();

    //查询每个时间段剩余预约次数
    List<CountTime> getCountByTime(Long time);

    //小程序新增预约参观
    void addReservation(ReservationDto reservationDto);

    //分页查询预约参观
    PageResponse<ReservationVo> getList(Integer pageNum, Integer pageSize, Integer status);

    //小程序端取消预约
    void updateById(Long id);


    void update(Long id, ReservationDto dto);

    void deleteById(Long id);

    void visit(Long id, Long time);

    ReservationVo findById(Long id);

    List<ReservationVo> findAll(String mobile, LocalDateTime of);

    PageResponse<ReservationVo> findByPage(int pageNum, int pageSize, String name, String phone, Integer status, Integer type, LocalDateTime time, LocalDateTime time1);

}
